// import http from "./http";
// import { AxiosPromise, IOption } from './types/base'

// 自动加载 urls 目录下的所有配置的接口 - 参考文件 https://www.cnblogs.com/ljx20180807/p/14665505.html
// const moduleFiles = import.meta.glob('./module/**/*.ts')
// console.log(moduleFiles);

// type IModuleApi = {
// 	[key: string]: IApis
// }
// type IData = {
// 	[key: string]: any
// }

// type IApis = {
// 	[key: string]: (params?:IData) => AxiosPromise
// }

// // apiFiles.keys() ===> 返回匹配成功模块的名字组成的数组 [./User.js, ....]
// const Apis = Object.keys(moduleFiles).reduce((moduleApi, key) => {
// 	// const value = moduleFiles[key]()
// 	console.log(moduleFiles[key]());

// 	moduleFiles[key]().then(val => {
// 		// val ==> 模块 Module { default: login: {}, loginInfo: {}, ..... }
// 		const name = key.split('/')[key.split('/').length - 1].split('.')[0] // ==> User
// 		const module = val.default
// 		if (module) {
// 			// 遍历模块下得接口对象, 创建对应axios请求
// 			moduleApi[name] = Object.keys(module).reduce((apis, apiKey) => {
// 				console.log(module[apiKey]);
// 				// 创建axios请求 ...module[apiKey] 请求配置
// 				// apis[apiKey] = (params = {}) => {
// 				// 	const method = module[apiKey].method
// 				// 	const config = { ...module[apiKey], params: params, data: params }
// 				// 	method && (['POST', 'PUT'].includes(method) ? delete config.params : delete config.data)
// 				// 	return http.createAxiosInstance(config)
// 				// }
// 				apis[apiKey] = module[apiKey]
// 				return apis
// 			}, {})
// 		}
// 	})
// 	return moduleApi
// }, {})

// /**
//  * Apis ==> User: { login: axiosFn(), .... }
// * */
// export default Apis

/**
 * 用上述方式自动加载接口会失去传入请求参数的类型校验 (暂未想到好的办法，留给有缘人....)
 */

export * from './module/Login'
